package tec;

import java.util.Iterator;

public class Greffon extends Autobus {

    private Collecte collecte;

    public Greffon (int nbPlaceAssise, int nbPlaceDebout, Collecte collecte) {
	super(nbPlaceAssise, nbPlaceDebout);
	this.collecte = collecte;
    }

    public void demanderPlaceAssise(Passager p) {
	if (p.estDehors()) {
	    super.demanderPlaceAssise(p);
	    if (p.estAssis())
		collecte.uneEntree();
	}
    }

    public void demanderPlaceDebout(Passager p) {
	if (p.estDehors()) {
	    super.demanderPlaceDebout(p);
	    if (p.estDebout())
		collecte.uneEntree();
	}
    }

    public void demanderSortie(Passager p) {
	super.demanderSortie(p);
	collecte.uneSortie();
    }
    
    protected void nouvelleSortie(Iterator<Passager> place, Passager aEnlever) {
	super.nouvelleSortie(place, aEnlever);
	collecte.uneSortie();
    }
    
    public void allerArretSuivant() throws TecInvalidException {
	super.allerArretSuivant();
	collecte.changerArret();
    }

}